home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / ArrowBP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  2.1 KB  |  91 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: ArrowBP.h,v $ $Revision: 1.13 $ $Date: 92/05/14 12:47:42 $ */
  6. /*
  7. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  8. #ifndef _XmArrowButtonP_h
  9. #define _XmArrowButtonP_h
  10.  
  11. #include <Xm/ArrowB.h>
  12. #include <Xm/PrimitiveP.h>
  13.  
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17.  
  18. /*  Arrow class structure  */
  19.  
  20. typedef struct _XmArrowButtonClassPart
  21. {
  22.    XtPointer extension;
  23. } XmArrowButtonClassPart;
  24.  
  25.  
  26. /*  Full class record declaration for Arrow class  */
  27.  
  28. typedef struct _XmArrowButtonClassRec
  29. {
  30.    CoreClassPart            core_class;
  31.    XmPrimitiveClassPart     primitive_class;
  32.    XmArrowButtonClassPart         arrowbutton_class;
  33. } XmArrowButtonClassRec;
  34.  
  35. externalref XmArrowButtonClassRec xmArrowButtonClassRec;
  36.  
  37.  
  38. /*  The ArrowButton instance record  */
  39.  
  40. typedef struct _XmArrowButtonPart
  41. {
  42.    XtCallbackList activate_callback;
  43.    XtCallbackList arm_callback;
  44.    XtCallbackList disarm_callback;
  45.    unsigned char  direction;      /*  the direction the arrow is pointing  */
  46.  
  47.    Boolean selected;
  48.    short        top_count;
  49.    short        cent_count;
  50.    short        bot_count;
  51.    XRectangle * top;
  52.    XRectangle * cent;
  53.    XRectangle * bot;
  54.  
  55.    GC      arrow_GC;      /*  graphics context for arrow drawing   */
  56.    XtIntervalId     timer;    
  57.    unsigned char    multiClick;         /* KEEP/DISCARD resource */
  58.    int              click_count;
  59.    Time            armTimeStamp;
  60.    GC            insensitive_GC; /* graphics context for insensitive arrow drawing */
  61. } XmArrowButtonPart;
  62.  
  63.  
  64. /*  Full instance record declaration  */
  65.  
  66. typedef struct _XmArrowButtonRec
  67. {
  68.    CorePart           core;
  69.    XmPrimitivePart    primitive;
  70.    XmArrowButtonPart    arrowbutton;
  71. } XmArrowButtonRec;
  72.  
  73.  
  74. /********    Private Function Declarations    ********/
  75. #ifdef _NO_PROTO
  76.  
  77.  
  78. #else
  79.  
  80.  
  81. #endif /* _NO_PROTO */
  82. /********    End Private Function Declarations    ********/
  83.  
  84.  
  85. #ifdef __cplusplus
  86. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  87. #endif
  88.  
  89. #endif /* _XmArrowButtonP_h */
  90. /* DON'T ADD ANYTHING AFTER THIS #endif */
  91.